#pragma once
#include "zModule.h"

namespace ck
{
	namespace data
	{
		class Landsat;
	}
	
	class OpLandsatMetaChecker : public Operator
	{
	public:
		OpLandsatMetaChecker(Module* pModule, z_uint32 nCode);
		virtual ~OpLandsatMetaChecker();

	public:
		virtual OpInput*	GetInput();
		virtual Output*		GetOutput();
		virtual OpRule*		GetRule();

		virtual RESULTCODE	Run();
		virtual void		SetParameter(z_uint32 i, void* pParam);
		virtual z_uint32	GetParameterCount();
		virtual check::CheckResult* GetResult();

	public:
		virtual const char*	GetID();
		virtual const char*	GetName();
		virtual z_uint32	GetCode();
		virtual const char*	GetDescription();
		virtual const char* GetModuleName();

		virtual bool		IsManual();

		virtual Module*		GetModule();

	private:
		Module*	m_pModule;
		z_uint32 m_nCode;

		z_uint32 m_nParamCount;

		data::Landsat* m_pLandsat;
		check::CheckResult* m_pResult;
	};


}
